<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>this,rest</title>
    <style>
        *{margin: 0;padding: 0;list-style-type: none;}
    </style>
</head>
<body>
    <script>
        function fc(){
            console.log(this)
        }
        // 函数事物内部指向：
        //    1.函数自执行时，内部的this指向window

        let obj = {
            fn:function(){
                console.log(this)
            }
        }

        obj.fn()//本次调用指向fn函数的obj对象

        //若不确定实参的数量，可以使用rest参数 ... 来定义形参
        function fu1(...a){//a 参数名，将传来的值放入数组保存

        }
        fu1(10,20)

        /*
            扩展运算符：...
            若在函数形参使用：rest参数 只能在最后面使用
            若在数组中使用：展开数组
        */

        //若想修改this指向：call(指向，实参1，实参2，...) apply(指向对象，[实参1，实参2，...]) bind(指向对象，实参1，实参2，...) 但是bind不会主动调用函数，若想调用：bind()
        function fn2(a,b){
            console.log(this)
        }
        fn2.call(1,10,20)
    </script>
</body>
</html>